[INFO] fetching crate dot_parse 0.2.0...
[INFO] building dot_parse-0.2.0 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate dot_parse 0.2.0 into /workspace/builds/worker-1/source
[INFO] validating manifest of crates.io crate dot_parse 0.2.0 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate dot_parse 0.2.0
[INFO] finished tweaking crates.io crate dot_parse 0.2.0
[INFO] tweaked toml for crates.io crate dot_parse 0.2.0 written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate crates.io crate dot_parse 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 93e20fc49bb41771c0d5a0175ffa6ba67e2381cfc416d13fdca8d1ee3e1abdb4
[INFO] running `Command { std: "docker" "start" "-a" "93e20fc49bb41771c0d5a0175ffa6ba67e2381cfc416d13fdca8d1ee3e1abdb4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "93e20fc49bb41771c0d5a0175ffa6ba67e2381cfc416d13fdca8d1ee3e1abdb4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93e20fc49bb41771c0d5a0175ffa6ba67e2381cfc416d13fdca8d1ee3e1abdb4", kill_on_drop: false }`
[INFO] [stdout] 93e20fc49bb41771c0d5a0175ffa6ba67e2381cfc416d13fdca8d1ee3e1abdb4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7fba287818049b530a3e44148526b6745eaa19c5fff3f77df463c464d2235800
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7fba287818049b530a3e44148526b6745eaa19c5fff3f77df463c464d2235800", kill_on_drop: false }`
[INFO] [stderr]    Compiling dot v0.1.4
[INFO] [stderr]    Compiling more-asserts v0.2.1
[INFO] [stderr]    Compiling dot_parse v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:350:61
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn parse_from(tokens: &[&'a str]) -> Result<NodeId<'a>, ((usize, &'a str))> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:361:10
[INFO] [stdout]     |
[INFO] [stdout] 361 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:401:10
[INFO] [stdout]     |
[INFO] [stdout] 401 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:705:10
[INFO] [stdout]     |
[INFO] [stdout] 705 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 235 |             (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other),
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |           |
[INFO] [stdout]     |                                    |           matches any value
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |         ---------------------
[INFO] [stdout]     |         |              |
[INFO] [stdout]     |         |              matches any value
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ------------ matches any value
[INFO] [stdout] 604 |                     _ => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     (_, Ok(_)) => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:488:24
[INFO] [stdout]     |
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:487:18
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn eq(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:597:13
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let key_subgraph: &str = "subgraph";
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let right_brace: &str = "}";
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:600:42
[INFO] [stdout]     |
[INFO] [stdout] 600 |             (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:608:22
[INFO] [stdout]     |
[INFO] [stdout] 608 |                     (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3),
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]    --> src/lib.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn get(&self, key: &str) -> Option<&IdWrapper<'a>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `len`
[INFO] [stdout]    --> src/lib.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 |     fn len(&self) -> usize {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `key`
[INFO] [stdout]    --> src/lib.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     key: AttrStmtKey,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     attr_list: AttrList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/lib.rs:533:5
[INFO] [stdout]     |
[INFO] [stdout] 533 |     id: NodeId<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:534:5
[INFO] [stdout]     |
[INFO] [stdout] 534 |     attr_list: Option<AttrList<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/lib.rs:577:5
[INFO] [stdout]     |
[INFO] [stdout] 577 |     id: Option<dot::Id<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `stmt_list`
[INFO] [stdout]    --> src/lib.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 |     stmt_list: StmtList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 |     attr_list: Option<AttrList<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.12s
[INFO] running `Command { std: "docker" "inspect" "7fba287818049b530a3e44148526b6745eaa19c5fff3f77df463c464d2235800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fba287818049b530a3e44148526b6745eaa19c5fff3f77df463c464d2235800", kill_on_drop: false }`
[INFO] [stdout] 7fba287818049b530a3e44148526b6745eaa19c5fff3f77df463c464d2235800
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d583ce93099dfa18c23dad001d6283889f93212d398c18113989af081dcfe560
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d583ce93099dfa18c23dad001d6283889f93212d398c18113989af081dcfe560", kill_on_drop: false }`
[INFO] [stderr]    Compiling dot_parse v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:350:61
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn parse_from(tokens: &[&'a str]) -> Result<NodeId<'a>, ((usize, &'a str))> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:361:10
[INFO] [stdout]     |
[INFO] [stdout] 361 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:401:10
[INFO] [stdout]     |
[INFO] [stdout] 401 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:705:10
[INFO] [stdout]     |
[INFO] [stdout] 705 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 235 |             (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other),
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |           |
[INFO] [stdout]     |                                    |           matches any value
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |         ---------------------
[INFO] [stdout]     |         |              |
[INFO] [stdout]     |         |              matches any value
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ------------ matches any value
[INFO] [stdout] 604 |                     _ => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     (_, Ok(_)) => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:488:24
[INFO] [stdout]     |
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:487:18
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn eq(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:597:13
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let key_subgraph: &str = "subgraph";
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let right_brace: &str = "}";
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:600:42
[INFO] [stdout]     |
[INFO] [stdout] 600 |             (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:608:22
[INFO] [stdout]     |
[INFO] [stdout] 608 |                     (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3),
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]    --> src/lib.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn get(&self, key: &str) -> Option<&IdWrapper<'a>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `len`
[INFO] [stdout]    --> src/lib.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 |     fn len(&self) -> usize {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `key`
[INFO] [stdout]    --> src/lib.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     key: AttrStmtKey,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     attr_list: AttrList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/lib.rs:533:5
[INFO] [stdout]     |
[INFO] [stdout] 533 |     id: NodeId<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:534:5
[INFO] [stdout]     |
[INFO] [stdout] 534 |     attr_list: Option<AttrList<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `id`
[INFO] [stdout]    --> src/lib.rs:577:5
[INFO] [stdout]     |
[INFO] [stdout] 577 |     id: Option<dot::Id<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `stmt_list`
[INFO] [stdout]    --> src/lib.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 |     stmt_list: StmtList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:718:5
[INFO] [stdout]     |
[INFO] [stdout] 718 |     attr_list: Option<AttrList<'a>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 257 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/lib.rs:350:61
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn parse_from(tokens: &[&'a str]) -> Result<NodeId<'a>, ((usize, &'a str))> {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:361:10
[INFO] [stdout]     |
[INFO] [stdout] 361 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:401:10
[INFO] [stdout]     |
[INFO] [stdout] 401 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lib.rs:705:10
[INFO] [stdout]     |
[INFO] [stdout] 705 |         };
[INFO] [stdout]     |          ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 235 |             (Some(a), Some(_b)) => matches!(a, _b) && id_match(self, other),
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |           |
[INFO] [stdout]     |                                    |           matches any value
[INFO] [stdout]     |                                    in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:10:13
[INFO] [stdout]     |
[INFO] [stdout] 10  |             _ => false
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] ...
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |         ---------------------
[INFO] [stdout]     |         |              |
[INFO] [stdout]     |         |              matches any value
[INFO] [stdout]     |         in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ------------ matches any value
[INFO] [stdout] 604 |                     _ => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:609:21
[INFO] [stdout]     |
[INFO] [stdout] 609 |                     (_, Ok(_)) => Err((0, "expecting subgraph")),
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:488:24
[INFO] [stdout]     |
[INFO] [stdout] 488 |         matches!(self, other)
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> src/lib.rs:487:18
[INFO] [stdout]     |
[INFO] [stdout] 487 |     fn eq(&self, other: &Self) -> bool {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:597:13
[INFO] [stdout]     |
[INFO] [stdout] 597 |         let key_subgraph: &str = "subgraph";
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |         let right_brace: &str = "}";
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_brace`
[INFO] [stdout]    --> src/lib.rs:600:42
[INFO] [stdout]     |
[INFO] [stdout] 600 |             (Some(idx_left_brace), Some(&right_brace)) => match idx_left_brace {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_brace`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     key_subgraph => parse_stmt_list_and_return(None, 2),
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key_subgraph`
[INFO] [stdout]    --> src/lib.rs:608:22
[INFO] [stdout]     |
[INFO] [stdout] 608 |                     (key_subgraph, Ok(id)) => parse_stmt_list_and_return(Some(id), 3),
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_subgraph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `attr_list`
[INFO] [stdout]    --> src/lib.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     attr_list: AttrList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `stmt_list`
[INFO] [stdout]    --> src/lib.rs:578:5
[INFO] [stdout]     |
[INFO] [stdout] 578 |     stmt_list: StmtList<'a>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:948:35
[INFO] [stdout]     |
[INFO] [stdout] 948 |         assert!(!alist_5.is_ok(), alist_5.unwrap());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_fmt_panic)]` on by default
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 948 |         assert!(!alist_5.is_ok(), "{}", alist_5.unwrap());
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:951:35
[INFO] [stdout]     |
[INFO] [stdout] 951 |         assert!(!alist_6.is_ok(), alist_6.unwrap());
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 951 |         assert!(!alist_6.is_ok(), "{}", alist_6.unwrap());
[INFO] [stdout]     |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:992:41
[INFO] [stdout]     |
[INFO] [stdout] 992 |             assert!(!attr_list.is_ok(), attr_list.unwrap());
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 992 |             assert!(!attr_list.is_ok(), "{}", attr_list.unwrap());
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lib.rs:997:41
[INFO] [stdout]     |
[INFO] [stdout] 997 |             assert!(!attr_list.is_ok(), attr_list.unwrap());
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]     |
[INFO] [stdout] 997 |             assert!(!attr_list.is_ok(), "{}", attr_list.unwrap());
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1005:41
[INFO] [stdout]      |
[INFO] [stdout] 1005 |             assert!(!node_stmt.is_ok(), node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1005 |             assert!(!node_stmt.is_ok(), "{}", node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1043:41
[INFO] [stdout]      |
[INFO] [stdout] 1043 |             assert!(!node_stmt.is_ok(), node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1043 |             assert!(!node_stmt.is_ok(), "{}", node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1055:41
[INFO] [stdout]      |
[INFO] [stdout] 1055 |             assert!(!node_stmt.is_ok(), node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1055 |             assert!(!node_stmt.is_ok(), "{}", node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1061:41
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             assert!(!node_stmt.is_ok(), node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1061 |             assert!(!node_stmt.is_ok(), "{}", node_stmt.unwrap());
[INFO] [stdout]      |                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1075:36
[INFO] [stdout]      |
[INFO] [stdout] 1075 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1075 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1088:36
[INFO] [stdout]      |
[INFO] [stdout] 1088 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1088 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1102:36
[INFO] [stdout]      |
[INFO] [stdout] 1102 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1102 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1112:36
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                     assert!(false, subgraph);
[INFO] [stdout]      |                                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                     assert!(false, "{}", subgraph);
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1125:36
[INFO] [stdout]      |
[INFO] [stdout] 1125 |                     assert!(false, subgraph);
[INFO] [stdout]      |                                    ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1125 |                     assert!(false, "{}", subgraph);
[INFO] [stdout]      |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1145:36
[INFO] [stdout]      |
[INFO] [stdout] 1145 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1145 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1159:36
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1189:36
[INFO] [stdout]      |
[INFO] [stdout] 1189 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1189 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1203:36
[INFO] [stdout]      |
[INFO] [stdout] 1203 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1203 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1222:36
[INFO] [stdout]      |
[INFO] [stdout] 1222 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1222 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1236:36
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1246:55
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                     assert!(stmt.attr_stmt.is_some(), stmt);
[INFO] [stdout]      |                                                       ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1246 |                     assert!(stmt.attr_stmt.is_some(), "{}", stmt);
[INFO] [stdout]      |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1250:36
[INFO] [stdout]      |
[INFO] [stdout] 1250 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1250 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1260:57
[INFO] [stdout]      |
[INFO] [stdout] 1260 |                     assert!(stmt.assign_stmt.is_some(), stmt);
[INFO] [stdout]      |                                                         ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1260 |                     assert!(stmt.assign_stmt.is_some(), "{}", stmt);
[INFO] [stdout]      |                                                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1266:36
[INFO] [stdout]      |
[INFO] [stdout] 1266 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1266 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1276:54
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                     assert!(stmt.subgraph.is_some(), stmt);
[INFO] [stdout]      |                                                      ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout] help: add a "{}" format string to Display the message
[INFO] [stdout]      |
[INFO] [stdout] 1276 |                     assert!(stmt.subgraph.is_some(), "{}", stmt);
[INFO] [stdout]      |                                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1279:36
[INFO] [stdout]      |
[INFO] [stdout] 1279 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1279 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/lib.rs:1298:36
[INFO] [stdout]      |
[INFO] [stdout] 1298 |                     assert!(false, format!("{} {}", idx_err, err_msg));
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this is no longer accepted in Rust 2021
[INFO] [stdout]      = note: the panic!() macro supports formatting, so there's no need for the format!() macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1298 |                     assert!(false, "{} {}", idx_err, err_msg);
[INFO] [stdout]      |                                   --                       --
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.23s
[INFO] running `Command { std: "docker" "inspect" "d583ce93099dfa18c23dad001d6283889f93212d398c18113989af081dcfe560", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d583ce93099dfa18c23dad001d6283889f93212d398c18113989af081dcfe560", kill_on_drop: false }`
[INFO] [stdout] d583ce93099dfa18c23dad001d6283889f93212d398c18113989af081dcfe560
